package uk.co.badgersinfoil.metaas; import java.io.IOException; import uk.co.badgersinfoil.metaas.dom.ASCompilationUnit; import uk.co.badgersinfoil.metaas.dom.ASPackage; import junit.framework.TestCase; public class ImportsTests extends TestCase { private ActionScriptFactory fact = new ActionScriptFactory(); public void testImports() throws IOException { ASCompilationUnit unit = fact.newClass("Test"); ASPackage pkg = unit.getPackage(); assertEquals(0, pkg.findImports().size()); pkg.addImport("java.util.List"); assertEquals(1, pkg.findImports().size()); assertEquals("java.util.List", pkg.findImports().get(0)); pkg.addImport("junit.framework.*"); assertEquals(2, pkg.findImports().size()); assertEquals("java.util.List", pkg.findImports().get(0)); assertEquals("junit.framework.*", pkg.findImports().get(1)); assertTrue(pkg.removeImport("java.util.List")); assertEquals(1, pkg.findImports().size()); assertEquals("junit.framework.*", pkg.findImports().get(0)); assertFalse(pkg.removeImport("missing")); assertTrue(pkg.removeImport("junit.framework.*")); assertEquals(0, pkg.findImports().size()); } public void testInvalidImport() { ASCompilationUnit unit = fact.newClass("Test"); ASPackage pkg = unit.getPackage(); try { pkg.addImport("--invalid code--"); fail("should have failed on invalid import"); } catch (SyntaxException e) { // expected } } }